﻿namespace Sgr
{
    [Serializable]
    public class NameValue<N, V>
    {
        public NameValue(N name, V value, V? parentValue)
        {
            Name = name;
            Value = value;
            ParentValue = parentValue;
        }

        public N Name { get; set; }
        public V Value { get; set; }
        public V? ParentValue { get; set; }
        public string? Description { get; set; }
    }

    [Serializable]
    public class NameValue : NameValue<string, string>
    {
        public NameValue(string name, string value, string? parentValue = null)
            : base(name, value, parentValue)
        {
        }
    }
}